package com.runfast.paotui.dao.model;

import java.io.Serializable;
import java.util.Date;

/**
 * price_plan
 * @author
 */
public class PricePlan implements Serializable {
    private Integer id;

    /**
     * 方案名称
     */
    private String name;

    private Boolean deleted;

    private Date createTime;

    private Date updateTime;

    private Integer createBy;

    private Integer updateBy;

    /**
     * 代理商
     */
    private Integer agentId;

    private Integer startDistance;

    private Integer startDistancePrice;

    private Integer firstDistance;

    private Integer firstDistancePrice;

    private Integer secondDistance;

    private Integer secondDistancePrice;

    private Integer thirdDistance;

    private Integer thirdDistancePrice;

    private Integer fourthDistance;

    private Integer fourthDistancePrice;

    private Integer startWeight;

    private Integer startWeightPrice;

    private Integer firstWeight;

    private Integer firstWeightPrice;

    private Integer secondWeight;

    private Integer secondWeightPrice;

    /**
     * 是否默认方案
     */
    private Boolean defaultPlan;

    private static final long serialVersionUID = 1L;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Boolean getDeleted() {
        return deleted;
    }

    public void setDeleted(Boolean deleted) {
        this.deleted = deleted;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public Integer getCreateBy() {
        return createBy;
    }

    public void setCreateBy(Integer createBy) {
        this.createBy = createBy;
    }

    public Integer getUpdateBy() {
        return updateBy;
    }

    public void setUpdateBy(Integer updateBy) {
        this.updateBy = updateBy;
    }

    public Integer getAgentId() {
        return agentId;
    }

    public void setAgentId(Integer agentId) {
        this.agentId = agentId;
    }

    public Integer getStartDistance() {
        return startDistance;
    }

    public void setStartDistance(Integer startDistance) {
        this.startDistance = startDistance;
    }

    public Integer getStartDistancePrice() {
        return startDistancePrice;
    }

    public void setStartDistancePrice(Integer startDistancePrice) {
        this.startDistancePrice = startDistancePrice;
    }

    public Integer getFirstDistance() {
        return firstDistance;
    }

    public void setFirstDistance(Integer firstDistance) {
        this.firstDistance = firstDistance;
    }

    public Integer getFirstDistancePrice() {
        return firstDistancePrice;
    }

    public void setFirstDistancePrice(Integer firstDistancePrice) {
        this.firstDistancePrice = firstDistancePrice;
    }

    public Integer getSecondDistance() {
        return secondDistance;
    }

    public void setSecondDistance(Integer secondDistance) {
        this.secondDistance = secondDistance;
    }

    public Integer getSecondDistancePrice() {
        return secondDistancePrice;
    }

    public void setSecondDistancePrice(Integer secondDistancePrice) {
        this.secondDistancePrice = secondDistancePrice;
    }

    public Integer getThirdDistance() {
        return thirdDistance;
    }

    public void setThirdDistance(Integer thirdDistance) {
        this.thirdDistance = thirdDistance;
    }

    public Integer getThirdDistancePrice() {
        return thirdDistancePrice;
    }

    public void setThirdDistancePrice(Integer thirdDistancePrice) {
        this.thirdDistancePrice = thirdDistancePrice;
    }

    public Integer getFourthDistance() {
        return fourthDistance;
    }

    public void setFourthDistance(Integer fourthDistance) {
        this.fourthDistance = fourthDistance;
    }

    public Integer getFourthDistancePrice() {
        return fourthDistancePrice;
    }

    public void setFourthDistancePrice(Integer fourthDistancePrice) {
        this.fourthDistancePrice = fourthDistancePrice;
    }

    public Integer getStartWeight() {
        return startWeight;
    }

    public void setStartWeight(Integer startWeight) {
        this.startWeight = startWeight;
    }

    public Integer getStartWeightPrice() {
        return startWeightPrice;
    }

    public void setStartWeightPrice(Integer startWeightPrice) {
        this.startWeightPrice = startWeightPrice;
    }

    public Integer getFirstWeight() {
        return firstWeight;
    }

    public void setFirstWeight(Integer firstWeight) {
        this.firstWeight = firstWeight;
    }

    public Integer getFirstWeightPrice() {
        return firstWeightPrice;
    }

    public void setFirstWeightPrice(Integer firstWeightPrice) {
        this.firstWeightPrice = firstWeightPrice;
    }

    public Integer getSecondWeight() {
        return secondWeight;
    }

    public void setSecondWeight(Integer secondWeight) {
        this.secondWeight = secondWeight;
    }

    public Integer getSecondWeightPrice() {
        return secondWeightPrice;
    }

    public void setSecondWeightPrice(Integer secondWeightPrice) {
        this.secondWeightPrice = secondWeightPrice;
    }

    public Boolean getDefaultPlan() {
        return defaultPlan;
    }

    public void setDefaultPlan(Boolean defaultPlan) {
        this.defaultPlan = defaultPlan;
    }

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        PricePlan other = (PricePlan) that;
        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
                && (this.getName() == null ? other.getName() == null : this.getName().equals(other.getName()))
                && (this.getDeleted() == null ? other.getDeleted() == null : this.getDeleted().equals(other.getDeleted()))
                && (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime()))
                && (this.getUpdateTime() == null ? other.getUpdateTime() == null : this.getUpdateTime().equals(other.getUpdateTime()))
                && (this.getCreateBy() == null ? other.getCreateBy() == null : this.getCreateBy().equals(other.getCreateBy()))
                && (this.getUpdateBy() == null ? other.getUpdateBy() == null : this.getUpdateBy().equals(other.getUpdateBy()))
                && (this.getAgentId() == null ? other.getAgentId() == null : this.getAgentId().equals(other.getAgentId()))
                && (this.getStartDistance() == null ? other.getStartDistance() == null : this.getStartDistance().equals(other.getStartDistance()))
                && (this.getStartDistancePrice() == null ? other.getStartDistancePrice() == null : this.getStartDistancePrice().equals(other.getStartDistancePrice()))
                && (this.getFirstDistance() == null ? other.getFirstDistance() == null : this.getFirstDistance().equals(other.getFirstDistance()))
                && (this.getFirstDistancePrice() == null ? other.getFirstDistancePrice() == null : this.getFirstDistancePrice().equals(other.getFirstDistancePrice()))
                && (this.getSecondDistance() == null ? other.getSecondDistance() == null : this.getSecondDistance().equals(other.getSecondDistance()))
                && (this.getSecondDistancePrice() == null ? other.getSecondDistancePrice() == null : this.getSecondDistancePrice().equals(other.getSecondDistancePrice()))
                && (this.getThirdDistance() == null ? other.getThirdDistance() == null : this.getThirdDistance().equals(other.getThirdDistance()))
                && (this.getThirdDistancePrice() == null ? other.getThirdDistancePrice() == null : this.getThirdDistancePrice().equals(other.getThirdDistancePrice()))
                && (this.getFourthDistance() == null ? other.getFourthDistance() == null : this.getFourthDistance().equals(other.getFourthDistance()))
                && (this.getFourthDistancePrice() == null ? other.getFourthDistancePrice() == null : this.getFourthDistancePrice().equals(other.getFourthDistancePrice()))
                && (this.getStartWeight() == null ? other.getStartWeight() == null : this.getStartWeight().equals(other.getStartWeight()))
                && (this.getStartWeightPrice() == null ? other.getStartWeightPrice() == null : this.getStartWeightPrice().equals(other.getStartWeightPrice()))
                && (this.getFirstWeight() == null ? other.getFirstWeight() == null : this.getFirstWeight().equals(other.getFirstWeight()))
                && (this.getFirstWeightPrice() == null ? other.getFirstWeightPrice() == null : this.getFirstWeightPrice().equals(other.getFirstWeightPrice()))
                && (this.getSecondWeight() == null ? other.getSecondWeight() == null : this.getSecondWeight().equals(other.getSecondWeight()))
                && (this.getSecondWeightPrice() == null ? other.getSecondWeightPrice() == null : this.getSecondWeightPrice().equals(other.getSecondWeightPrice()))
                && (this.getDefaultPlan() == null ? other.getDefaultPlan() == null : this.getDefaultPlan().equals(other.getDefaultPlan()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
        result = prime * result + ((getName() == null) ? 0 : getName().hashCode());
        result = prime * result + ((getDeleted() == null) ? 0 : getDeleted().hashCode());
        result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode());
        result = prime * result + ((getUpdateTime() == null) ? 0 : getUpdateTime().hashCode());
        result = prime * result + ((getCreateBy() == null) ? 0 : getCreateBy().hashCode());
        result = prime * result + ((getUpdateBy() == null) ? 0 : getUpdateBy().hashCode());
        result = prime * result + ((getAgentId() == null) ? 0 : getAgentId().hashCode());
        result = prime * result + ((getStartDistance() == null) ? 0 : getStartDistance().hashCode());
        result = prime * result + ((getStartDistancePrice() == null) ? 0 : getStartDistancePrice().hashCode());
        result = prime * result + ((getFirstDistance() == null) ? 0 : getFirstDistance().hashCode());
        result = prime * result + ((getFirstDistancePrice() == null) ? 0 : getFirstDistancePrice().hashCode());
        result = prime * result + ((getSecondDistance() == null) ? 0 : getSecondDistance().hashCode());
        result = prime * result + ((getSecondDistancePrice() == null) ? 0 : getSecondDistancePrice().hashCode());
        result = prime * result + ((getThirdDistance() == null) ? 0 : getThirdDistance().hashCode());
        result = prime * result + ((getThirdDistancePrice() == null) ? 0 : getThirdDistancePrice().hashCode());
        result = prime * result + ((getFourthDistance() == null) ? 0 : getFourthDistance().hashCode());
        result = prime * result + ((getFourthDistancePrice() == null) ? 0 : getFourthDistancePrice().hashCode());
        result = prime * result + ((getStartWeight() == null) ? 0 : getStartWeight().hashCode());
        result = prime * result + ((getStartWeightPrice() == null) ? 0 : getStartWeightPrice().hashCode());
        result = prime * result + ((getFirstWeight() == null) ? 0 : getFirstWeight().hashCode());
        result = prime * result + ((getFirstWeightPrice() == null) ? 0 : getFirstWeightPrice().hashCode());
        result = prime * result + ((getSecondWeight() == null) ? 0 : getSecondWeight().hashCode());
        result = prime * result + ((getSecondWeightPrice() == null) ? 0 : getSecondWeightPrice().hashCode());
        result = prime * result + ((getDefaultPlan() == null) ? 0 : getDefaultPlan().hashCode());
        return result;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", id=").append(id);
        sb.append(", name=").append(name);
        sb.append(", deleted=").append(deleted);
        sb.append(", createTime=").append(createTime);
        sb.append(", updateTime=").append(updateTime);
        sb.append(", createBy=").append(createBy);
        sb.append(", updateBy=").append(updateBy);
        sb.append(", agentId=").append(agentId);
        sb.append(", startDistance=").append(startDistance);
        sb.append(", startDistancePrice=").append(startDistancePrice);
        sb.append(", firstDistance=").append(firstDistance);
        sb.append(", firstDistancePrice=").append(firstDistancePrice);
        sb.append(", secondDistance=").append(secondDistance);
        sb.append(", secondDistancePrice=").append(secondDistancePrice);
        sb.append(", thirdDistance=").append(thirdDistance);
        sb.append(", thirdDistancePrice=").append(thirdDistancePrice);
        sb.append(", fourthDistance=").append(fourthDistance);
        sb.append(", fourthDistancePrice=").append(fourthDistancePrice);
        sb.append(", startWeight=").append(startWeight);
        sb.append(", startWeightPrice=").append(startWeightPrice);
        sb.append(", firstWeight=").append(firstWeight);
        sb.append(", firstWeightPrice=").append(firstWeightPrice);
        sb.append(", secondWeight=").append(secondWeight);
        sb.append(", secondWeightPrice=").append(secondWeightPrice);
        sb.append(", defaultPlan=").append(defaultPlan);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }
}